Google Apps Scriptを使ってChatWorkにメッセージ投稿
弊社でChatWorkを利用していることは何度か紹介していますが、最近特定のGmailについてChatWorkにメッセージ投稿をしたいというケースがありました。そこでGoogle Apps Script(以下GAS)を利用してChatWork APIを操作したので、そのコードスニペットについてご紹介します。
function postMessageToRoom(token, roomId, message) { var params = { headers : { "X-ChatWorkToken" : token }, method : "post", payload : { body : message } }; var url = "https://api.chatwork.com/v1/rooms/" + roomId + "/messages"; var result = UrlFetchApp.fetch(url, params); }
以下、コードに関する補足です。
- GASにおいて外部通信する際はURL Fetch Serviceを利用します。
- ChatWorkのAPIはトークン1をHTTPヘッダのX-ChatWorkTokenで指定する必要があります。
- メッセージ投稿APIはPOSTメソッドであるためmethodはpostを指定します。
- メッセージ本文はBody(payload)にパラメータ名をbodyとして指定する必要があります。
- URLの一部に含まれるroomIdはChatWorkの各ルームのURLの#!ridXXXXXXのXXXXXXの部分になります。#!rid123456なら123456になります。
では、実際に試してみたいと思います。myFunction関数からpostMessageToRoom関数を実行します。
前述のように実行するとメッセージが投稿されました。メッセージ記法も利用できますし、改行も問題なく表示されています。
以上、小ネタでしたー。
- APIトークンの取得方法についてはChatWork APIを使って定期投稿を自動化するをご参照下さい。 ↩